//
//  main.cpp
//  BinarySearch
//
//  Created by 廖京辉 on 15/11/4.
//  Copyright © 2015年 廖京辉. All rights reserved.
//

#include <iostream>
#include <fstream>
#include <string>
#include "WordsIndex.hpp"
using namespace std;

int getWord(string str);

int main(int argc, const char * argv[]) {
    
//    cout<<getWordAtIndex(1000)<<endl;
    string str = "Arab";
    getWord(str);
    
    int a = 'a';
    int z = 'z';
    int A = 'A';
    int Z = 'Z';
    cout<<a<<" "<<z<<" "<<A+32<<" "<<Z<<endl;
    
    return 0;
}

int getWord(string str){
    //获取首字母
    string s = str.substr(0,1);
    char c = *s.c_str();
    if (c<='Z' && c>='A') {
        c+=32;
        cout<<"c:"<<c<<endl;
    }
    
    int indx = c-'a';
    int index = wordIndex[indx];
    int end = wordIndex[indx+1];
    int i;
    char buf[1024];
    fstream wordFile("words.txt",ios::in|ios::out);
    
    wordFile.seekg(0, ios::beg);  //定位到文件开始。
    for(i = 0; i < index; i++)
    {
        wordFile.getline(buf, sizeof(buf));//读取行。
    }
    
    for(i = index; i <end;i++)
    {
        wordFile.getline(buf, sizeof(buf));//读取行。
        string buff = buf;
        int equal = (int)buff.find("==");
        string sub = buff.substr(equal+3);
        sub.erase(sub.length()-1);
        if(sub == str){
            cout<<"index:"<<i<<endl;
            return i;
        }
    }
    wordFile.close();
    return -1;
}